'''定义接口测试用例
使用uinttest
1.导包
2.创建测试类
    2.1前置处理
    2.2后置处理
    2.3创建测试方法
'''

#1.导包
import requests
import unittest
from tpshop.api.login import loginAPI #导入封装的api包


#2.创建测试类
class testlogin(unittest.TestCase):
    #2.1前置处理
    def setUp(self):
        self.login_api = loginAPI() #示例化接口类，方便使用self调用
        self.session = requests.Session() #创建session对象
    #2.2后置处理
    def tearDown(self):
        if self.session:
            self.session.close()  #关闭session对象
    #2.3创建测试方法
    #登录成功
    def test001(self):
        #调用验证码接口获取验证，并进行断言
        respones1 = self.login_api.get_verify(self.session)
        self.assertIn('image', respones1.headers.get('Content-Type'))

        #调用登录接口获取登录信息，并进行断言
        respones2 = self.login_api.login(self.session, '17633863035', '123456', '8888')
        print(respones2.json())
        self.assertEqual(1, respones2.json().get('status'))
        self.assertIn('登陆成功', respones2.json().get('msg'))
    #账号错误
    def test002(self):
        self.login_api.get_verify(self.session)
        response = self.login_api.login(self.session, '176338630352', '123456', '8888')
        print(response.json())
        self.assertEqual(-1, response.json().get('status'))
        self.assertIn('账号不存在', response.json().get('msg'))
    #密码错误
    def test003(self):
        self.login_api.get_verify(self.session)
        response = self.login_api.login(self.session, '17633863035', '1234567', '8888')
        print(response.json())
        self.assertEqual(-2, response.json().get('status'))
        self.assertIn('密码错误', response.json().get('msg'))